html-08 雪碧图

一、CSS hack

1.属性hack _只有ie6及以下版本会显示这个属性;

*只有ie7及以下版本会显示这个属性;

\9 ie6及以上的ie浏览器显示这个属性(\9放在属性值的后面)

\0 ie8及以上版本显示这个属性;

2.选择符级hack;

*html只有ie6里面会显示;

*+html只有ie7里面会显示;

3.条件hack:用于选择ie浏览器及ie的不同版本。

if条件Hack是HTML级别的(包含但不仅是CSS的Hack,可以选择任何HTML代码块)

if条件共包含6种选择方式:是否、大于、大于或等于、小于、小于或等于、非指定版本

● 大于:选择大于指定版本的IE版本。关键字:gt(greater than)

● 大于或等于:选择大于或等于指定版本的IE版本。关键字:gte(greater than or equal)

● 小于:选择小于指定版本的IE版本。关键字:lt(less than)

● 小于或等于:选择小于或等于指定版本的IE版本。关键字:lte(less than or equal)

● 非指定版本:选择除指定版本外的所有IE版本。关键字:!

只在IE中可见 代码示例:

<!--[if IE]>
<p>只在IE中能看到这个段落</p>
<![endif]-->



<!--[if IE 8]>
<style></style> //这里面写的只有ie8能显示
<![endif]-->

<!--[if IE]>
<p>只在IE中能看到这个段落</p>
<![endif]-->

二、用css的border设置三角形,在ie6里面不兼容的问题。

1.在ie6里面transparent不兼容,显示黑色。

解决办法,把需要设置透明的边框设置成点状或虚线。

2.在ie6里面设置左边或者右边的三角形,会少个尖儿。

是因为ie6里面的最小高度引起的问题。

解决办法:给这个元素设置font-size:0;line-height:0;overflow:hidden。

三、banner图布局

1.先切片将左右两边的宽度相等,留下中间的部分,如果页面宽度是1920,则设置宽度为100%; 2.切中间的一块,如果不准确,可以修改一下切片宽度,

四、大背景布局,

五、透明

1.rgba 设置背景透明

a表示alpha取值:从0到1,数值越大,越不透明;

background:rgba(0,0,0,0.8);

2.ie浏览器兼容性

opacity 设置元素的不透明度。(元素文字都透明)

取值:从0到1,数值越大,越不透明

opacity: 0.5;

filter:alpha(opacity=50);

六、雪碧图,精灵图,css sprites;

优点:

(1)减少网页的http请求,从而大大的提高页面的性能

(2)图片命名上的困扰。

(3)更换风格方便。

缺点:

(1)必须要限定容器大小,复合背景图元素位置需要计算。

(2)维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片。

七、常用的图片格式

1.jpg 优点:色彩丰富,文件小。

缺点:有损压缩,反复保存,图片质量下降明显。

使用场景:色彩丰富的图片/渐变图像。

2.gif 优点:文件小,支持动画,透明,无兼容性问题。

缺点:只支持256种颜色,色彩简单的logo/icon/动图

使用场景:色彩简单的logo/icon/动图。

3.png 优点:无损压缩,支持透明,简单图片尺寸小。

缺点:不支持动画,色彩丰富的图片尺寸大。

使用场景:logo/icon/透明图。

面试题

● 用纯CSS实现小箭头的思路?

● 简述精灵图的原理及优缺点?

● 简述网页中常见图片格式及特点?